<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>bom其他对象 - JavaScript</title>
</head>
<body>
    <h1>bom其他对象</h1>
    <h4>学习目标</h4>
    <ol>
        <li>熟悉location对象常用的方法和属性</li>
        <li>了解url地址构成</li>
        <li>熟悉navigator对象常用的方法和属性</li>
        <li>熟悉screen对象常用的方法和属性</li>
        <li>熟悉history对象常用的方法和属性</li>
    </ol>

    <script type="text/javascript">

        // -----------------------------
        // 1. location 对象
        // -----------------------------
        /*
            浏览器当前URL信息

            常用属性：
                location.href 返回 当前页面 url 或者 设置跳转页面
                location.host 返回 web 主机的地址
                location.hostname 返回 web 主机的域名
                location.pathname 返回当前页面的路径和文件名
                location.port 返回 web 主机的端口 （80 或 443）
                location.protocol 返回所使用的 web 协议（http: 或 https:）
                location.search 属性是一个可读可写的字符串，可设置或返回当前 URL 的查询部分
                location.hash 属性 返回一个URL的锚部分

            常用方法：
                location.reload() 重新载入当前文档
                location.assign() 载入一个新的文档
                location.replace() 用新的文档替换当前文档
         */
        // 1.1 打印 location 对象, 并查看其相关属性、方法和原型链
        // 1.2 参考常用的属性，都打印出来观察看看
        // 1.3 观察一下常用的属性输出，然后思考一下页面地址 location.href 等于哪几个属性拼接？
        // 1.4 location.hash 是什么呢？为什么输出为空？
        // 1.5 询问用户是否跳转到 https://www.baidu.com，如果确认那么跳转。
        // 1.6 模拟用户登录，用户输入账号和密码，账号为：17135970521，密码为：123456
        //  登录成功后就刷新页面。


        // -----------------------------
        // 2. navigator 对象
        // -----------------------------
        /*
            浏览器本身信息

            常用属性:
                navigator.appCodeName //浏览器代码名的字符串表示
                navigator.appName //官方浏览器名的字符串表示
                navigator.appVersion //浏览器版本信息的字符串表示
                navigator.userAgent //返回和浏览器内核相关的信息
                navigator.cookieEnabled //如果启用cookie返回true，否则返回false
                navigator.javaEnabled() //如果启用java返回true，否则返回false
                navigator.platform //浏览器所在计算机平台的字符串表示
                navigator.plugins //安装在浏览器中的插件数组
         */
        // 2.1 打印 navigator 对象, 并查看其相关属性、方法和原型链
        // 2.2 打印 appCodeName、appName、appVersion、userAgent
        // 2.3 判断用户使用的浏览器是否是chrome浏览器？
        // 2.4 在火狐浏览器里和IE浏览器里执行一下这个程序。
        // 2.5 在手机浏览器里执行一下这个程序。


        // -----------------------------
        // 3. screen 对象
        // -----------------------------
        /*
            客户端屏幕信息

            常用属性：
                screen.width 返回显示器屏幕的宽度。
                screen.height 返回显示屏幕的高度。
         */
        // 3.1 打印 screen 对象, 并查看其相关属性、方法和原型链
        // 3.2 获取用户显示器的屏幕宽度和高度


        // -----------------------------
        // 4. history 对象
        // -----------------------------
        /*
            浏览器访问历史信息

            常用方法
                back() 加载 history 列表中的前一个 URL。
                forward() 加载 history 列表中的下一个 URL。
                go() 加载 history 列表中的某个具体页面。
         */
        // 4.1 打印 history 对象, 并查看其相关属性、方法和原型链
        // 4.2 新建一个按钮，点击返回上一步。
        // 4.3 新建一个链接，点击跳转到下一页。
        //  新建一个按钮，点击前往下一页。


        // ----------------------------------------------------
        // -- 练习
        // ----------------------------------------------------
        // 1. 判断用户的浏览器是否全屏


    </script>
</body>
</html>